In an existing frequency-domain encoding algorithm, during bit allocation, the following processing is included: allocating bits to each sub-band according to a sub-band envelope; sorting sub-bands in ascending order according to a quantity of allocated bits; starting encoding from a sub-band with a smallest quantity of allocated bits; and evenly allocating surplus bits left in an encoded sub-band to remaining unencoded sub-bands, where bits left in each sub-band are insufficient for encoding one information unit. Because allocation of surplus bits is merely even allocation to sub-bands with larger quantities of originally allocated bits determined by energy envelopes, a waste of bits is caused, resulting in a non-ideal encoding effect.